Skip to content

add trustless IPFS gateway, use patched rclone, remove bitswap#646

Open
parkan wants to merge 8 commits intomainfrom
feat/trustless-gateway
Open

add trustless IPFS gateway, use patched rclone, remove bitswap#646
parkan wants to merge 8 commits intomainfrom
feat/trustless-gateway

Conversation

@parkan
Copy link
Collaborator

@parkan parkan commented Mar 17, 2026

remove the dead bitswap protocol and add an /ipfs/ endpoint implementing the trustless gateway spec via boxo/gateway

StorageBlockStore pools rclone handlers per storage and holds open a streaming file reader to serve sequential block reads efficiently -- DAG nodes return from the DB without storage I/O, and leaf blocks from the same file share a single held-open rclone stream

supports dag-scope=all/entity/block, path resolution, entity-bytes, format=car and format=raw. stale source files detected at read time are mapped to HTTP 409 via boxo's error status mechanism

remove the dead bitswap protocol and add an /ipfs/ endpoint implementing
the trustless gateway spec via boxo/gateway.

StorageBlockStore pools rclone handlers per storage and holds open a
streaming file reader to serve sequential block reads efficiently --
DAG nodes return from the DB without storage I/O, and leaf blocks from
the same file share a single held-open rclone stream.

supports dag-scope=all/entity/block, path resolution, entity-bytes,
format=car and format=raw. stale source files detected at read time
are mapped to HTTP 409 via boxo's error status mechanism.
@parkan parkan force-pushed the feat/trustless-gateway branch from fe93173 to adfce2b Compare March 17, 2026 09:57
@parkan parkan marked this pull request as draft March 17, 2026 10:07
@parkan parkan changed the title add trustless IPFS gateway, remove bitswap add trustless IPFS gateway, use patched rclone, remove bitswap Mar 17, 2026
parkan added 4 commits March 17, 2026 12:46
replace github.com/rclone/rclone with parkan/rclone@singularity-v1.68.0
which adds sync.Map + singleflight caching for /metadata/ API calls in
the internetarchive backend. reduces per-item metadata hits from N (one
per file) to 1.

temporary measure until metadata caching is upstreamed to rclone.
- remove uptobox backend (dropped upstream)
- fix fs.Duration type change in config overrides
- handle []string option defaults in ToCLIFlag type switch
@parkan parkan marked this pull request as ready for review March 17, 2026 15:33
@parkan parkan force-pushed the feat/trustless-gateway branch 2 times, most recently from 996b763 to 51b8666 Compare March 17, 2026 15:51
@parkan parkan force-pushed the feat/trustless-gateway branch from 51b8666 to a8d4dd4 Compare March 17, 2026 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant